package com.nexus.core.sys.dto;

import com.alibaba.excel.annotation.ExcelProperty;
import com.nexus.core.query.annotation.QueryCondition;
import com.nexus.core.query.annotation.QueryType;
import com.nexus.core.service.dto.BaseDTO;
import com.nexus.core.service.dto.TreeDTO;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 系统菜单
 *
 * @Date 2025/7/28 15:08
 * @Author Administrator
 **/
@Data
@EqualsAndHashCode(callSuper = false)
public class SysMenuDTO extends TreeDTO<SysMenuDTO> {


    /**
     * 菜单别名
     */
    @ExcelProperty("菜单别名")
    @QueryCondition(tableField = "alias", type = QueryType.EQ)
    private String alias;
    /**
     * 菜单类型
     */
    @ExcelProperty("菜单类型")
    @QueryCondition(tableField = "type", type = QueryType.EQ)
    private String type;
    /**
     * 菜单图标
     */
    @ExcelProperty("菜单图标")
    @QueryCondition(tableField = "logo", type = QueryType.EQ)
    private String logo;
    /**
     * 路由地址
     */
    @ExcelProperty("路由地址")
    @QueryCondition(tableField = "path", type = QueryType.EQ)
    private String path;
    /**
     * 重定向
     */
    @ExcelProperty("重定向")
    @QueryCondition(tableField = "redirect", type = QueryType.EQ)
    private String redirect;
    /**
     * 权限标识
     */
    @ExcelProperty("权限标识")
    @QueryCondition(tableField = "permission", type = QueryType.EQ)
    private String permission;
    /**
     * 菜单高亮
     */
    @ExcelProperty("菜单高亮")
    @QueryCondition(tableField = "menu_highlight", type = QueryType.EQ)
    private String menuHighlight;
    /**
     * 视图
     */
    @ExcelProperty("视图")
    @QueryCondition(tableField = "view", type = QueryType.EQ)
    private String view;
    /**
     * 背景色
     */
    @ExcelProperty("背景色")
    @QueryCondition(tableField = "affix", type = QueryType.EQ)
    private String affix;
    /**
     * 是否隐藏
     */
    @ExcelProperty("是否隐藏")
    @QueryCondition(tableField = "hide", type = QueryType.EQ)
    private Integer hide;
    /**
     * 整页路由
     */
    @ExcelProperty("整页路由")
    @QueryCondition(tableField = "whole_page_route", type = QueryType.EQ)
    private Integer wholePageRoute;
    /**
     * 标签
     */
    @ExcelProperty("标签")
    @QueryCondition(tableField = "label", type = QueryType.EQ)
    private String label;
    /**
     * 是否固定标签栏
     */
    @ExcelProperty("是否固定标签栏")
    @QueryCondition(tableField = "fixed_label_bar", type = QueryType.EQ)
    private Boolean fixedLabelBar;
}